use clap::Parser;

#[derive(Parser)]
#[command(name = "PagerBaseStation")]
#[command(author = "PushAMP LLC. <ceo@pushamp.com>")]
#[command(version = "0.1.0")]
#[command(about = "Does messages on your pager", long_about = None)]
pub(crate) struct Cli {
    #[arg(long, env)]
    psb_host: String,
    #[arg(long, env)]
    psb_username: Option<String>,
    #[arg(long, env)]
    psb_password: String,
    #[arg(long, env, default_value_t = String::from("pager_messages_v1"))]
    topic: String,
}

impl Cli {
    pub(crate) fn get_psb_host(&self) -> &str {
        &self.psb_host
    }

    pub(crate) fn get_psb_topic(&self) -> &str {
        &self.topic
    }

    pub(crate) fn get_psb_username(&self) -> Option<String> {
        self.psb_username.clone()
    }

    pub(crate) fn get_psb_password(&self) -> &str {
        &self.psb_password
    }
}
